package strategic_monitor

import (
	"database/sql"
	"time"
)

// StrategicBid 战采集采招标表
type StrategicBid struct {
	Id             int64
	BidId          string
	Province       string
	ProvinceCode   string
	City           string
	CityCode       string
	Title          string
	ContentId      string
	SourceWebsite  string
	SourceUrl      string
	CompanyName    string
	OrganizingCode string
	PublishDate    time.Time
	StartYear      int32
	EndYear        int32
	AuditStatus    int32
	SourceType     int32
	CreatedBy      string
	CreatedOn      time.Time
	ModifiedBy     string
	ModifiedOn     time.Time
	IsDeleted      int32
}

func (t StrategicBid) TableName() string {
	return "strategic_bid"
}

// StrategicWinbid 战采集采中标表
type StrategicWinbid struct {
	Id                         int64
	WinbidId                   string
	Province                   string
	ProvinceCode               string
	City                       string
	CityCode                   string
	Title                      string
	ContentId                  string
	SourceWebsite              string
	SourceUrl                  string
	CompanyName                string
	OrganizingCode             string
	PublishDate                time.Time
	FirstWinbidCompany         string
	FirstWinbidOrganizingCode  string
	SecondWinbidCompany        string
	SecondWinbidOrganizingCode string
	ThirdWinbidCompany         string
	ThirdWinbidOrganizingCode  string
	StartYear                  int32
	EndYear                    int32
	AuditStatus                int32
	SourceType                 int32
	CreatedBy                  string
	CreatedOn                  time.Time
	ModifiedBy                 string
	ModifiedOn                 time.Time
	IsDeleted                  int32
}

func (t StrategicWinbid) TableName() string {
	return "strategic_winbid"
}

type StrategicBidCompany struct {
	Id             int64
	CompanyName    string
	OrganizingCode string
	TenantCode     string
	Province       string
	City           string
	ProvinceCode   string
	CityCode       string
	AuditStatus    int32
	AuditTime      sql.NullTime
	AuditBy        string
	CreatedBy      string
	CreatedOn      time.Time
	ModifiedBy     string
	ModifiedOn     time.Time
	IsDeleted      int32
}

func (t StrategicBidCompany) TableName() string {
	return "strategic_bid_company"
}

// StrategicIndustry 产品品类（行业）表
type StrategicIndustry struct {
	Id           int64
	IndustryName string
	AuditStatus  int32
	AuditTime    sql.NullTime
	AuditBy      string
	TenantCode   string
	CreatedBy    string
	CreatedOn    time.Time
	ModifiedBy   string
	ModifiedOn   time.Time
	IsDeleted    int32
}

func (t StrategicIndustry) TableName() string {
	return "strategic_industry"
}

// StrategicBidAudit 战集采已审核通过的招中标数据表
type StrategicBidAudit struct {
	Id             int64
	BidId          string
	Title          string
	CompanyName    string
	OrganizingCode string
	PublishDate    time.Time
	ProcureType    int32
	StartYear      int32
	EndYear        int32
	CreatedBy      string
	CreatedOn      time.Time
	ModifiedBy     string
	ModifiedOn     time.Time
	IsDeleted      int32
}

func (t StrategicBidAudit) TableName() string {
	return "strategic_bid_audit"
}

// StrategicBidCooperateCompany  战集采已审核通过的招标的合作单位表
type StrategicBidCooperateCompany struct {
	Id                      int64
	AuditId                 int64
	CooperateCompanyName    string
	CooperateOrganizingCode string
	CreatedBy               string
	CreatedOn               time.Time
	ModifiedBy              string
	ModifiedOn              time.Time
	IsDeleted               int32
}

func (t StrategicBidCooperateCompany) TableName() string {
	return "strategic_bid_cooperate_company"
}

// StrategicBidIndustry 战集采已审核通过的招标产品品类（行业）数据表
type StrategicBidIndustry struct {
	Id         int64
	AuditId    int64
	IndustryId int64
	CreatedBy  string
	CreatedOn  time.Time
	ModifiedBy string
	ModifiedOn time.Time
	IsDeleted  int32
}

func (t StrategicBidIndustry) TableName() string {
	return "strategic_bid_industry"
}

type BidCompanyCooperateBo struct {
	CooperateCompanyName string
	AuditIds             string
	IndustryNames        string
	PublishDates         string
}
